package com.github.prontera.domain;

import io.swagger.annotations.ApiModelProperty;

import java.time.OffsetDateTime;

import lombok.EqualsAndHashCode;
import lombok.ToString;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.github.prontera.domain.enums.YesOrNoEnum;
import com.github.prontera.model.BasicDomain;
import com.github.prontera.util.converter.jackson.OffsetDateTimeToIso8601Serializer;

/**
 * 
 * app_banner-app banner
 *
 */
@ToString
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class AppBanner extends BasicDomain{

	private static final long serialVersionUID = 1L;
    
	/**
	 * banner图片路径
	 */
	@ApiModelProperty(value = "banner图片路径")
    private String image;
	/**
	 * 跳转类型 0：无跳转 1：商品 2：网站 3：活动
	 */
	@ApiModelProperty(value = "跳转类型 0：无跳转 1：商品 2：网站 3：活动")
    private Integer skipType;
	/**
	 * 跳转详情 无跳转时此属性为空 其他填入跳转属性
	 */
	@ApiModelProperty(value = "跳转详情 无跳转时此属性为空 其他填入跳转属性")
    private String skipMsg;
	/**
	 * 定时显示时间
	 */
	@ApiModelProperty(value = "定时显示时间")
	@JsonSerialize(using = OffsetDateTimeToIso8601Serializer.class)
    private OffsetDateTime displayTime;
	/**
	 * 定时下架时间
	 */
	@ApiModelProperty(value = "定时下架时间")
	@JsonSerialize(using = OffsetDateTimeToIso8601Serializer.class)
    private OffsetDateTime soldoutTime;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间")
    private OffsetDateTime createTime;
	/**
	 * 状态 0：有效 1：无效
	 */
	@ApiModelProperty(value = "状态 0：有效 1：无效")
    private YesOrNoEnum status;
	/**
	 * 备注
	 */
	@ApiModelProperty(value = "备注")
    private String remark;
    
    public AppBanner(){
    
    }
    
    public String getImage() {
        return this.image;
    }
    
    public void setImage(String image) {
        this.image = image;
    }
    public Integer getSkipType() {
        return this.skipType;
    }
    
    public void setSkipType(Integer skipType) {
        this.skipType = skipType;
    }
    public String getSkipMsg() {
        return this.skipMsg;
    }
    
    public void setSkipMsg(String skipMsg) {
        this.skipMsg = skipMsg;
    }
    public OffsetDateTime getDisplayTime() {
        return this.displayTime;
    }
    
    public void setDisplayTime(OffsetDateTime displayTime) {
        this.displayTime = displayTime;
    }
    public OffsetDateTime getSoldoutTime() {
        return this.soldoutTime;
    }
    
    public void setSoldoutTime(OffsetDateTime soldoutTime) {
        this.soldoutTime = soldoutTime;
    }
    public OffsetDateTime getCreateTime() {
        return this.createTime;
    }
    
    public void setCreateTime(OffsetDateTime createTime) {
        this.createTime = createTime;
    }
    public YesOrNoEnum getStatus() {
        return this.status;
    }
    
    public void setStatus(YesOrNoEnum status) {
        this.status = status;
    }
    public String getRemark() {
        return this.remark;
    }
    
    public void setRemark(String remark) {
        this.remark = remark;
    }
    
}
